perm filename SSORT.REM[UP,DOC]2 blob sn#155477 filedate 1975-04-22 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002		SHORT WRITEUP FOR SSORT.DMP[1,3], THE VARIABLE-LENGTH STRING SORT/MERGE
C00009 ENDMK
CāŠ—;
	SHORT WRITEUP FOR SSORT.DMP[1,3], THE VARIABLE-LENGTH STRING SORT/MERGE
 
COMMAND TO INVOKE THE PROGRAM IS R SSORT.
INPUT FILE SHOULDN'T HAVE SOS LINE NUMBERS NOR TV/E DIRECTORY, BUT IT MIGHT
WORK ANYWAY.  OUTPUT FILE WON'T OVERWRITE AN EXISTING FILE UNLESS YOU SAY YES.
A TEMPORARY FILE WILL BE CREATED AND DELETED, CALLED SOMETHING LIKE <JOBNUM>SORT.TMP

The file is assumed to be broken up into frames by a special delimeter
character, which may be any ASCII character you choose, except nulls which are
usually ignored.  There is a special feature called the "JMC" kludge which
allows two consecutive delimiters rather than one to be the delimiter,
thus allowing a blank line between paragraphs to be the frame separator if
linefeed is the delimiter and carriage-return is deleted upon input and
replaced upon output.

When you start up the program, it will type * and if you just type <crlf>
it will remind you of the command format and give you a list of switches.
The command format is <OUTPUT-FILE>←<INPUT-FILE><SWITCHES><CRLF>.
Switches are parsed from left to right, and the effect of the default
switches is to place those switches ahead of whatever switches you type.
Each of the /A /O /B switches overrides any previous delimiter specification
and also resets any /D or /S to the usual values (i.e. /D<nil> /S<delim>).
The /F and /R merely turn on switches to the program, the /D switch
appends to the list of /D characters, and the /S replaces the list of /S
characters.

/A<KH> and /O<OCTAL NUMBER> are used to specify the delimiter character, depending on
  whether you want to use the character itself or the octal value for it
  (note, for activation characters, you must use the /O form).

/B causes linefeed to be the delimiter, <cr> to be ignored but patched in
  when you are done, and the special double-occurrance flag (the JMC feature)
  to be turned on.  If you want the double-occ flag but some other delimiter,
  it might be possible to do /B followed by /A or /O, but this hasn't been
  tested as of 1975.APR.22 because no one has had any use for it.

/F causes the program to assume the delimiters are at the front rather than
  the usual rear-end of each frame.  The major effect is at the start and
  end of the file where an extra blank frame or a lost frame might occur.
  This should not be done if linefeed is the delimiter because the last
  record (line) will be unreadable by many text-processing programs.

/R causes retention of any duplicate frames.  Normally, extra copies are
  purged.  There is no way at present to count the duplicated frames (such
  as when counting words in a dictionary).  There is no way to output only the
  duplicated frames, but a SRCCOM between the output with /R in effect and
  the output without /R will somewhat perform this function.

/D<OCTAL NUMBER> causes that character to disappear during input.  You
  may still resupply it upon output by /S.  Carriage-return is normally
  handled this way, by SSORT (using default switches) and other SU-AI programs.

/S<OCTAL NUMBER LIST> causes that string (up to 5 characters) to be used
  instead of your normal delimiter upon output.

The default switches for SSORT are /O12/D15/D14/S15&12 or something close
  enough that you will understand it from reading this.  /O12 means linefeed
  is delimiter.  /D15 and /D14 mean that carriage-returns and formfeeds are
  deleted. /S15&12 mean that the linefeed (and the carriage-return that was
  deleted just in front of it) are replaces by 15&12 which is carriage-return
  followed by linefeed.  Thus normal SU-AI files will be put back the way
  they were (except sorted, and page-marks removed) and other files will be
  "fixed-up" into SU-AI format.

If you find an error in this writeup, please add an addenda at the end
  of this file: